<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Document</title>
</head>

<body>
  <script>
    // 题目1(选做)：const arr=['name','age','hhh','hhh','age','hhh','hhh','hhh']各出现多少次
    // 要求输出一个对象如下：{age: 2,hhh: 5,name: 1}
    const arr = ['name', 'age', 'hhh', 'hhh', 'age', 'hhh', 'hhh', 'hhh']
    const fn1 = () => {
      const obj = {}
      arr.forEach(item => {
        obj[item] ? obj[item] = obj[item] + 1 : obj[item] = 1
      });
      return obj
    }
    console.log(fn1());
    // 题目2(必做)：现在两个数组，判断在a中的元素，不在b中 const a = [1,2,3,5] const b=[1,3,5,6] 将在a不在b中的筛选出来
    // 要求：输出一个数组：[2]
    const a = [1, 2, 3, 5]
    const b = [1, 3, 5, 6]
    const fn2 = () => {
      return a.map(item => {
        const res = []
        b.forEach(item1 => {
          if (item === item1) {
            res.push(item)
          }
        });
        if (res.length === 0) {
          return item
        }
      }).filter(item => {
        return typeof item === 'number'
      })
    }
    console.log(fn2());

    // 题目3(必做):数组去重(可以用多种方法,至少写一种)
    // 要求：输出一个数组：[1,2,3,9]
    const arr2 = [1, 2, 3, 2, 9]
    const fn3 = () => {
      const obj = {}
      arr2.forEach(item => {
        obj[item] ? obj[item] + 1 : obj[item] = 1
      });
      const newArr = []
      for (let key in obj) {
        newArr.push(Number(key))
      }
      return newArr
    }
    console.log(fn3());
  </script>
</body>

</html>